package top.healthylife.gateway.platform.eye.api.api.zhishichanquan;

import cn.hutool.core.bean.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import top.healthylife.gateway.core.service.ParentFace;
import top.healthylife.gateway.core.util.SystemConfigUtils;
import top.healthylife.gateway.dto.annotation.ApiServiceExplain;
import top.healthylife.gateway.platform.eye.api.config.SystemConfig;
import top.healthylife.gateway.platform.eye.api.util.OutHttpUtil;
import top.healthylife.gateway.platform.eye.dto.zhishichanquan.EyeReqTrademarkDetailDto.req.EyeReqTrademarkDetailDto;
import top.healthylife.gateway.platform.eye.dto.zhishichanquan.EyeReqTrademarkDetailDto.res.Eyerestrademarkdetaildto;

/**
* @author: GenUtil
* @date: 2020-12-15 19:07:17
*/
@Slf4j
@Service
@ApiServiceExplain(price = 10,docUrl ="http://open.tianyancha.com/open/1051",apiName = "商标信息详情[1051]", info = "可以通过注册号或国际分类获取商标信息详情，商标信息详情包括商标国际分类、商标名称、商标申请日期、商标申请人、商标注册地址、商标合作申请人、商标申请人（英文）、商标地址（英文）、商标初审公告期号、商标初审公告日期、商标注册公告期号、商标注册公告日期、商标专用权期限期限、商标代理/办理机构等字段的信息")
public class EyeTrademarkDetailApi implements ParentFace<EyeReqTrademarkDetailDto, Eyerestrademarkdetaildto> {

    static final String URL = "http://open.api.tianyancha.com/services/open/ipr/tm/detail/2.0";

    /**
     * 执行这个服务接口
     * 如果成功，返回成功结果，如果接口错误，直接抛异常即可
     *
     * @param eyeDto 请求参数
     * @return 查询的真实结果，如果是失败，则直接返回异常即可
     */
    @Override
    public Eyerestrademarkdetaildto execute(EyeReqTrademarkDetailDto eyeDto) {
        //可直接通过工具类获取这个对象
        SystemConfig o = (SystemConfig) SystemConfigUtils.get();
        return OutHttpUtil.get(URL, BeanUtil.beanToMap(eyeDto), o, Eyerestrademarkdetaildto.class);
    }
}
